¿Qué es LOG4NET?
Es una librería para escribir Log.
Características
- Permite emitir Log a múltiples destinos (Archivos de texto, base de datos, registro de eventos de Windows, email, etc.).
- Monitorear tamaño y contenido de archivo (pudiendo crear otro dependiendo del tamaño definido y eliminar archivos anteriores).
- Genera mínimo impacto en el performance, ya que fue diseñada para ser muy rápida y flexible.
- Es una arquitectura probada en diferentes lenguajes de programación.
- Soporte para múltiples Frameworks.
- Configuración dinámica (en tiempo de ejecución, formatos, etc.).
- Configuración vía XML.
Como Descargar
Se puede bajar directamente de la página de Apache y agregar la Dll.
Se puede bajar directamente desde Nuget en el Visual Studio colocando las siguientes líneas:
Install-Package log4net |
Para esto se hace lo siguiente:
Ir a la opción TOOLS ==> Nuget Package Manager ==> Package Manager Console.
Se agregara la línea antes mencionada y se presionara “enter” para configurar dicho proyecto.
Uso
Una vez instalado se deberá modificar el archivo de configuración que tengamos en .NET pudiendo ser un Web.config o un App.config
Se deberán agregar las siguientes líneas en el archivo de configuración:
<configSections>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net"/>
</configSections>
Así también se agregara una sección única y exclusiva para el Log4net, en este ejemplo será solo para almacenar en un archivo TXT; pero en el sitio de apache podrán apreciar los ejemplos con BD, EMAIL, etc.
<log4net debug="false">
<appender name="LogFileAppender" type="log4net.Appender.RollingFileAppender">
<param name="FILE" value="C:\Logs\test.txt"/>
<param name="AppendToFile" value="true"/>
<rollingStyle value="Size"/>
<maxSizeRollBackups value="10"/>
<maximunFileSize value="1MB"/>
<staticLogFileName value="true"/>
<lockingModel type="log4net.Appender.FileAppender+MinimalLock"/>
<layout type="log4net.Layout.PatternLayout">
<conversionPattern value="[%date{dd-MM-yyyy HH:mm:ss}] [%level] %message %newline"/>
</layout>
</appender>
<root>
<level value="ALL"></level>
<appender-ref ref="LogFileAppender"/>
</root>
</log4net>
Finalmente, se agregara en la clase Main de la aplicación una línea más que indicara el inicio de la clase Log4net.
//Inicializa el log4net
log4net.Config.XmlConfigurator.Configure();
Declaramos una variable de tipo pública y estática que será vista desde todo el proyecto, para poder reutilizarla. Si nuestra app es MVC o web será puesta en el global.asax
private static readonly ILog Log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);
Con estos simples cambios se podrá apreciar que al correr la aplicación deberá crear un archivo txt en la siguiente ruta “C:\Logs\test.txt”; la cual registrara todo aquello que deseemos registrar en un pequeño archivo txt y el cual no superara más de 1 MB.